--- import { type CollectionEntry, getCollection } from "astro:content"; import type { GetStaticPaths, Page } from "astro"; import { Icon } from "astro-icon/components"; import Note from "@/components/note/Note.astro"; import Pagination from "@/components/Paginator.astro"; import PageLayout from "@/layouts/Base.astro"; export const getStaticPaths = (async ({ paginate }) => { const MAX_MICRO_PER_PAGE = 10; // Get only Pleroma posts const allMicro = await getCollection("micro").catch(() => []); // Fallback to empty array if micro collection fails // Sort all micro posts const allMicroPosts = allMicro.sort( (a, b) => b.data.publishDate.getTime() - a.data.publishDate.getTime(), ); return paginate(allMicroPosts, { pageSize: MAX_MICRO_PER_PAGE }); }) satisfies GetStaticPaths; interface Props { page: Page>; uniqueTags: string[]; } const { page } = Astro.props; const meta = { description: "Read my collection of micro posts", title: "Micro", }; const paginationProps = { ...(page.url.prev && { prevUrl: { text: "← Previous Page", url: page.url.prev, }, }), ...(page.url.next && { nextUrl: { text: "Next Page →", url: page.url.next, }, }), }; ---

Micro RSS feed

    { page.data.map((note) => (
  • )) }